Agnostic to the size of the input time dimension 模型结构与输入的时间维度无关
Output:
20: Container & Weight Classification
2: Rotational Slip Classification
4.2 Neuron Model
4.2.1 Spike Response Model (SRM)
Incoming spikes $s_i(t)$ are convolved with a response kernel $\epsilon(\cdot)$ to yield a spike response signal that is scaled by a synaptic weight $w_i$ $$ u(t)=\sum w_i\left(\epsilon * s_i\right)(t)+(\nu * o)(t) $$
$u(t)$: internal state (membrane potential)
$\varphi$: predefined threshold
$w_i$: synaptic weight
$*$: indicates convolution
$s_i(t)$: incoming spikes from input $i$
$\epsilon(\cdot)$: response kernel
$\nu(\cdot)$: refractory kernel
$o(t)$: neuron’s output spike train
4.3 Model Training
4.3.1 SLAYER:
using a stochastic spiking neuron approximation to derive an approximate gradient
a temporal credit assignment policy to distribute errors
4.3.2 Training Consideration
Spiking data needs to be binned into fixed-width interval during the training process (on GPU)
Used a straight-forward binning process
4.3.3 Details of Training
(binary) value for each bin window $V_w$ was 1 whenever the total spike count in that window exceeded a threshold value $S_{min}$ $$ V_w= \begin{cases}1 & \sum_w S \geq S_{\min } \ 0 & \text { otherwise }\end{cases} $$
Class prediction is determined by the number of spikes in the output layer spike train
Neuron that generates the most spikes represents the winning class
Spike-Count loss Definition
Captures the difference between the observed output spike count and the desired spike count across the output neurons (indexed by n) $$ \mathcal{L}=\frac{1}{2} \sum_{n=0}^{N_o}\left(\sum_{t=0}^T \mathbf{s}^n(t)-\sum_{t=0}^T \tilde{\mathbf{s}}^n(t)\right)^2 $$
A generalization of the spike-count loss above to incorporate temporal weighting
Set $\omega(t)$ to be monotonically decreasing, which encourages early classification by down-weighting later spikes
Used a simple quadratic function(其他的形式也应该可以) $$ \omega(t)={\beta}t^2+\gamma \quad\text{with}\quad\beta<0 $$
Appropriate counts have to be specified for the correct and incorrect classes and are task-specific hyperparameters.
Tuned them manually and found that setting the positive class count to $≈$ 50% of the maximum number of spikes (across each input within the considered time interval) worked well $ \mathcal{L}\omega=\frac{1}{2}\sum{n=0}^{N_o}\left(\sum_{t=0}^T\omega(t)\mathbf{s}^n(t)-\sum_{t=0}^T\omega(t)\tilde{\mathbf{s}}^n(t)\right)^2 $